<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:pe="http://primefaces.org/ui/extensions"
	xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition template="/templates/templateLayout.xhtml">

	<f:metadata>
		<f:event type="preRenderView" listener="#{propiedadBean.vermensaje()}" />
	</f:metadata>

	<ui:define name="centerContent">
		<h:panelGroup layout="block"
			class="title ui-widget-header ui-corner-all"
			style="padding: 8px; font-size: 16px !important; text-align: center;">
			<h:outputText value="#{msgs['title.propiedad']}" />


			<h:form id="formentity">
				<p:growl showDetail="true" id="msgGrwl" />
				<p:messages id="messagesFilter" showDetail="true"  closable="true" showSummary="true"/>
				<ui:include src="/templates/toolbarSearch.xhtml">
					<ui:param name="bean" value="#{propiedadBean}" />
				</ui:include>

				<p:dataTable id="list" var="item" value="#{propiedadBean.list}"
					widgetVar="entityTable" rowKey="#{item.id}" lazy="true"
					selectionMode="single"	selection="#{propiedadBean.entity}" paginator="true"
					resizableColumns="false" rows="10" 
					paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,20,30,50"
					paginatorPosition="bottom"  filterDelay="1000" emptyMessage="#{msgs['lista.vacia']}">

					<f:facet name="header">
					<p:panel header="#{msgs['filtros.avanzados']}" toggleable="true" collapsed="true">
						<p:panelGrid id="panelFiltros" style="text-align:left">							
							<p:row>
								<p:column>
									<h:outputText value="#{msgs['form.banios']}" />
								</p:column>
								<p:column>
									<p:selectOneButton value="#{propiedadBean.filtros.cantBanios}">
										<f:selectItems value="#{utilsBean.cantidadFiltros}" />
									</p:selectOneButton>
								</p:column>
								<p:column>
									<h:outputText value="#{msgs['form.dormitorios']}:" />
								</p:column>
								<p:column>
									<p:selectOneButton
										value="#{propiedadBean.filtros.cantDormitorios}">
										<f:selectItems value="#{utilsBean.cantidadFiltros}" />
									</p:selectOneButton>
								</p:column>
							</p:row>
							<p:row>
								<p:column>
									<h:outputText value="#{msgs['form.cocinas']}:" />
								</p:column>
								<p:column>
									<p:selectOneButton value="#{propiedadBean.filtros.cantCocinas}">
										<f:selectItems value="#{utilsBean.cantidadFiltros}" />
									</p:selectOneButton>
								</p:column>
								<p:column>
									<h:outputText value="#{msgs['form.toilettes']}:" />
								</p:column>
								<p:column>
									<p:selectOneButton
										value="#{propiedadBean.filtros.cantToilette}">
										<f:selectItems value="#{utilsBean.cantidadFiltros}" />
									</p:selectOneButton>
								</p:column>
							</p:row>
							<p:row>
								<p:column>
									<h:outputText value="#{msgs['form.propiedad.cantLocalComercial']}:" />
								</p:column>
								<p:column>
									<p:selectOneButton
										value="#{propiedadBean.filtros.cantLocalComercial}">
										<f:selectItems value="#{utilsBean.cantidadFiltros}" />
									</p:selectOneButton>
								</p:column>
								<p:column>
									<h:outputText value="#{msgs['form.propiedad.cochera']}:" />
								</p:column>
								<p:column>
									<p:selectOneButton value="#{propiedadBean.filtros.cochera}">
										<f:selectItems value="#{utilsBean.booleanfiltros}" />
									</p:selectOneButton>
								</p:column>
							</p:row>
							<p:row>
								<p:column>
									<h:outputText value="#{msgs['form.tipo']}:" />
								</p:column>
								<p:column colspan="3">
									<p:selectOneButton id="tipopropiedad"
										value="#{propiedadBean.filtros.propiedadTipo}">
										<f:selectItems value="#{utilsBean.propiedadTipo}" />
									</p:selectOneButton>
								</p:column>
							</p:row>
							<f:facet name="footer">								
							<p:row>	
							<p:column colspan="4">
							<p:toolbar>
								<p:toolbarGroup align="left">
									<p:commandButton value="Buscar" action="#"
												update="panelFiltros" onclick="entityTable.filter()" />
									<p:commandButton value="Limpiar"
												action="#{propiedadBean.liampiarFiltros()}"
												oncomplete="entityTable.filter()" update="panelFiltros" />
								</p:toolbarGroup>
							</p:toolbar>
										
							</p:column>
							</p:row>					
							</f:facet>	
						</p:panelGrid>					
						
						</p:panel>						
					</f:facet>

					<p:ajax event="rowSelect" listener="#{propiedadBean.onRowSelect}" update=":formentity:msgGrwl" immediate="true" />
					<p:ajax event="filter" listener="#{propiedadBean.filterListener(':formentity:list')}" update=":formentity:messagesFilter"/>
      
				

					<p:column headerText="#{msgs['form.direccion']}" id="direccion"
						filterBy="#{item.direccion}" sortBy="#{item.direccion}">
						<h:outputText value="#{item.direccionCompleta()}" />
						<p:watermark forElement="formentity:list:direccion:filter"  value="Filtro direccion..."/>
					</p:column>
					<p:column headerText="#{msgs['form.barrio']}" id="barrio"
						filterBy="#{item.barrio.descripcion}"
						sortBy="#{item.barrio.descripcion}">
						<h:outputText value="#{item.barrio.descripcion}" />
						<p:watermark forElement="formentity:list:barrio:filter"  value="Filtro barrio..."/> 
					</p:column>
					<p:column headerText="#{msgs['form.ciudad']}" id="ciudad" 
						filterBy="#{item.barrio.ciudad.descripcion}"
						sortBy="#{item.barrio.ciudad.descripcion}">
						<h:outputText value="#{item.barrio.ciudad.descripcion}" />
						<p:watermark forElement="formentity:list:ciudad:filter"  value="Filtro ciudad..."/> 
					</p:column>
					<p:column headerText="#{msgs['form.estado']}" id="estado"
						filterOptions="#{utilsBean.propiedadEstados}" 
						filterBy="#{item.estado}" sortBy="#{item.estado}">
						<h:outputText value="#{item.estado.toString()}" />						 
					</p:column>
					<p:column headerText="#{msgs['form.disponibilidad']}:"
						filterOptions="#{utilsBean.disponibilidad}"
						filterBy="#{item.tipoDisponibilidad}"
						sortBy="#{item.tipoDisponibilidad}">
						<h:outputText value="#{item.tipoDisponibilidad.toString()}" />
					</p:column>

					<p:column headerText="#{msgs['form.alquiler']}"
						sortBy="#{item.montoMinimoAlquiler}">
						<h:outputText value="#{item.montoMinimoAlquiler}">
							<f:convertNumber currencySymbol="$" type="currency"
								maxFractionDigits="0" />
						</h:outputText>
					</p:column>
					<p:column headerText="#{msgs['form.venta']}"
						sortBy="#{item.montoMinimoVenta}">
						<h:outputText value="#{item.montoMinimoVenta}">
							<f:convertNumber currencySymbol="$" type="currency"
								maxFractionDigits="0" />
						</h:outputText>
					</p:column>
					<p:column headerText="#{msgs['form.apellidoNombre']}" id="apellidonombre"
						filterBy="#{item.propietario.apellido}"
						sortBy="#{item.propietario.apellido}">
						<h:outputText value="#{item.propietario.apellidoNombre()}" />
						<p:watermark forElement="formentity:list:apellidonombre:filter"  value="Filtro apell nom.."/>
					</p:column>
					<p:column width="60">
						<h:link outcome="create" title="Editar">
							<p:graphicImage library="images" name="edit-grid.png" />
							<f:param name="id" value="#{item.id}" />
						</h:link>
						<h:link outcome="view" title="Ver">
							<p:graphicImage library="images" name="view-grid.png" />
							<f:param name="id" value="#{item.id}" />
						</h:link>
						<p:commandLink action="#{propiedadBean.delete(item)}"
							update=":formentity"
							onstart="return confirm('#{msgs['btn.confirmar.eliminar']}')">
							<p:graphicImage library="images" name="delete-grid.png" />
						</p:commandLink>
					</p:column>
					<p:column>
						<h:button value="Alquilar" outcome="/pages/alquiler/create"
							title="Alquilar Propiedad" disabled="#{not item.disponible()}">							
							<f:param name="idPropiedad" value="#{item.id}" />
						</h:button>
					</p:column>

				</p:dataTable>
				<script>
			        jQuery(document).ready(function() {					        
			        document.getElementById("formentity:list:estado:filter").selectedIndex = 1;
			        entityTable.filter();
			         });		        
			    </script>
			</h:form>
		</h:panelGroup>
	</ui:define>

</ui:composition>
</html>
